//package com.yzt.dynamicmodule.activity;
//
//import android.annotation.SuppressLint;
//import android.view.View;
//import android.view.ViewGroup;
//import android.widget.EditText;
//import android.widget.FrameLayout;
//import android.widget.LinearLayout;
//import android.widget.Space;
//import android.widget.TextView;
//
//import androidx.annotation.NonNull;
//import androidx.recyclerview.widget.LinearLayoutManager;
//import androidx.viewpager.widget.ViewPager;
//
//import com.alibaba.android.arouter.facade.annotation.Autowired;
//import com.alibaba.android.arouter.facade.annotation.Route;
//import com.chad.library.adapter.base.BaseQuickAdapter;
//import com.chad.library.adapter.base.listener.OnItemChildClickListener;
//import com.chad.library.adapter.base.listener.OnItemClickListener;
//import com.yzt.zhuju.RXingUtils;
//import com.yzt.zhuju.arouter.RouterAccount;
//import com.yzt.zhuju.arouter.RouterDynamic;
//import com.yzt.zhuju.arouter.RouterUser;
//import com.yzt.zhuju.dialog.MenuSelectDialog;
//import com.yzt.zhuju.event.RxBus;
//import com.yzt.zhuju.event.user.RefreshDynamicEvent;
//import com.yzt.zhuju.mvp.MVPActivity;
//import com.yzt.zhuju.network.entity.DynamicCommentBean;
//import com.yzt.zhuju.network.entity.dynamic.DynamicListBean;
//import com.yzt.zhuju.network.entity.dynamic.DynamicMsgBean;
//import com.yzt.zhuju.network.entity.dynamic.DynamicMsgChildBean;
//import com.yzt.zhuju.network.entity.message.BannerData;
//import com.yzt.zhuju.utils.AppDialogUtil;
//import com.yzt.zhuju.utils.FastClickUtils;
//import com.yzt.zhuju.widget.DisableRecyclerView;
//import com.yzt.zhuju.widget.PageIndicatorView;
//import com.yzt.zhuju.widget.tuiview.TUIImageView;
//import com.yzt.zhuju.widget.tuiview.TUITextView;
//import com.yzt.zhuju.widget.viewpager.BannerDynamicViewHolder;
//import com.yzt.dynamicmodule.R;
////import com.yzt.dynamicmodule.adapter.DynamicMsgAdapter;
//import com.yzt.dynamicmodule.contacts.DynamicDetailContacts;
//import com.yzt.dynamicmodule.presenter.DynamicDetailPresenter;
//import com.yzt.p_base.utils.KeyboardUtils;
//import com.yzt.p_base.utils.ToastUtil;
//import com.yzt.plugin_imageloader.ImageLoadUtil;
//import com.yzt.plugin_widget.RoundImageView;
//import com.zhouwei.mzbanner.MZBannerView;
//import com.zhouwei.mzbanner.holder.MZHolderCreator;
//
//import java.util.ArrayList;
//import java.util.List;
//
///**
// * author : bob
// * date   : 2023/2/27
// * desc   : 动态详情
// */
//@SuppressLint("SetTextI18n")
//@Route(path = RouterDynamic.FRAGMENT_DYNAMIC_DETAIL)
//public class DynamicDetailActivity extends MVPActivity<DynamicDetailPresenter> implements DynamicDetailContacts.View {
//
//    @Autowired
//    DynamicListBean detail;
//
//    String dynamicId;
//
//    private RoundImageView img_header;
//    private TextView tv_user_name;
//    private TUIImageView img_gender;
//    private TextView tv_age;
//    private TUIImageView tv_follow;
//
//    private TextView tv_content;
//    private TextView tv_msg;
//    private TUITextView tv_like;
//
//    private DynamicMsgAdapter adapter;
//
//    /**
//     * 图片模块
//     */
//    private FrameLayout flBannerContainer;
//    private MZBannerView<BannerData> bannerView;
//    private PageIndicatorView indicatorView;
//    private final List<BannerData> bannerList = new ArrayList<>();
//
//    private String userId;
//
//    private TextView tv_time;
//    private TextView tv_comment_count;
//
//    /**
//     * 输入框容器
//     */
//    private LinearLayout llFullContainer;
//    private EditText editMsg;
//    private Space keyBoardHeight;
//
//    @Override
//    public int getLayoutId() {
//        return R.layout.activity_dynamic_detail;
//    }
//
//    @Override
//    public void installViews() {
//
//        img_header = findViewById(R.id.img_header);
//        tv_user_name = findViewById(R.id.tv_user_name);
//        img_gender = findViewById(R.id.img_gender);
//        tv_age = findViewById(R.id.tv_age);
//        tv_follow = findViewById(R.id.tv_follow);
//
//        tv_time = findViewById(R.id.tv_time);
//        tv_comment_count = findViewById(R.id.tv_comment_count);
//
//        tv_content = findViewById(R.id.tv_content);
//        tv_msg = findViewById(R.id.tv_msg);
//        tv_like = findViewById(R.id.tv_like);
//
//        DisableRecyclerView recycler_view = findViewById(R.id.recycler_view);
//
//        recycler_view.setLayoutManager(new LinearLayoutManager(this));
//        adapter = new DynamicMsgAdapter();
//        recycler_view.setAdapter(adapter);
//        adapter.setOnItemClickListener(new OnItemClickListener() {
//            @Override
//            public void onItemClick(@NonNull BaseQuickAdapter<?, ?> adapter1, @NonNull View view, int position) {
//                // 点击消息
//                DynamicMsgBean bean = adapter.getItem(position);
//                dynamicCommentBean = new DynamicCommentBean(2, bean.getCommentId(), null, null, null);
//                editMsg.setHint("Reply " + bean.getNickName());
//                showInputView();
//            }
//        });
//
//        adapter.addChildClickViewIds(R.id.tv_like);
//        adapter.addChildClickViewIds(R.id.img_header);
//        adapter.setOnItemChildClickListener(new OnItemChildClickListener() {
//            @Override
//            public void onItemChildClick(@NonNull BaseQuickAdapter adapter1, @NonNull View view, int position) {
//
//                if (FastClickUtils.isFastClick()) {
//                    return;
//                }
//
//                DynamicMsgBean msgBean = adapter.getItem(position);
//
//                if (view.getId() == R.id.tv_like) {
//                    // 点赞
//                    commentLike(1, null, msgBean.getCommentId(), null, !msgBean.isLike());
//                }
//                if (view.getId() == R.id.img_header) {
//                    // 点击头像
//                    RouterUser.PersonalDetailActivity(detail.getUserId() + "", "动态");
//                }
//            }
//        });
//        adapter.setDynamicMsgClickListener(new DynamicMsgAdapter.DynamicMsgClickListener() {
//            @Override
//            public void childItemClick(DynamicMsgChildBean bean, DynamicMsgBean item) {
//                // 点击消息
//                dynamicCommentBean = new DynamicCommentBean(3, item.getCommentId(), null, bean.getReplyCommentId(), bean.getCommentUserId());
//                editMsg.setHint("Reply " + bean.getNickName());
//                showInputView();
//            }
//
//            @Override
//            public void childLikeClick(DynamicMsgChildBean bean, DynamicMsgBean item) {
//                // 点赞
//                commentLike(2, null, item.getCommentId(), bean.getCommentId(), !bean.isLike());
//            }
//        });
//
//        findViewById(R.id.img_back).setOnClickListener(this);
//        findViewById(R.id.img_more).setOnClickListener(this);
//        findViewById(R.id.ll_user_info).setOnClickListener(this);
//        findViewById(R.id.tv_follow).setOnClickListener(this);
//        findViewById(R.id.img_more).setOnClickListener(this);
//        findViewById(R.id.tv_like).setOnClickListener(this);
//        findViewById(R.id.tv_msg).setOnClickListener(this);
//        findViewById(R.id.tv_message).setOnClickListener(this);
//
//        initInputContainer();
//
//        if (detail != null) {
//            loadLocalData(true);
//            dynamicId = detail.getMomentId() + "";
//        }
//
//        mPresenter.setDynamicId(dynamicId);
//
//        // 获取动态详情
//        // mPresenter.getDetails();
//        mPresenter.getCommentList();
//    }
//
//    private void initInputContainer() {
//        // 容器
//        llFullContainer = findViewById(R.id.layout_chatroom_edit);
//        llFullContainer.setOnClickListener(this);
//        // 输入框
//        editMsg = findViewById(R.id.chatroom_msg_edit);
//        keyBoardHeight = findViewById(R.id.key_board_height);
//        // 发送按钮
//        findViewById(R.id.tv_chatroom_msg_send).setEnabled(true);
//        findViewById(R.id.tv_chatroom_msg_send).setOnClickListener(this);
//      //  findViewById(R.id.view_input_bg_container).setOnClickListener(this);
//    }
//
//    /**
//     * 加载页面数据
//     */
//    private void loadLocalData(boolean isLocal) {        userId = RXingUtils.getPersonDetail().getBasic().getUserId();
//
//        // 用户信息
//        ImageLoadUtil.loadAvatar(this, detail.getAvatar(), img_header);
//        tv_user_name.setText(detail.getNickName());
//        img_gender.setSelected(detail.getGender() == 1);
//        tv_age.setText(detail.getAge() + "");
//
//        // 关注
//        if (userId.equals(detail.getUserId()+"")) {
//            tv_follow.setVisibility(View.GONE);
//        } else {
//            tv_follow.setVisibility(View.VISIBLE);
//            tv_follow.setSelected(detail.isFollowed());
//        }
//
//        // 动态内容
//        tv_content.setText(detail.getContent());
//
//        flBannerContainer = findViewById(R.id.fl_banner);
//
//        // 动态图片
//        flBannerContainer.setVisibility(View.VISIBLE);
//        initBanner(detail.getPicList());
//
//        // 点赞数量
//        tv_like.setSelected(detail.isLiked());
//        tv_like.setText(String.valueOf(detail.getLikeCount()));
//
//        // 时间 评论数量
//        tv_time.setText(detail.getCreateTime() + "~" + detail.getLocation());
//        tv_comment_count.setText("评论 " + detail.getCommentCount());
//    }
//
//    /**
//     * 初始化轮播
//     */
//    private void initBanner(List<String> list) {
//
//        indicatorView = findViewById(R.id.indicator);
//        bannerView = findViewById(R.id.banner_view);
//        bannerView.setIndicatorVisible(false);
//        bannerView.setBannerPageClickListener((view, position) -> {
//            //   PhotoViewManager.getInstance(AppUtils.getApp()).showPhotoView(view, detail.getCommunityInfo().getUrlList(), position);
//        });
//        bannerList.clear();
//        for (String path : list) {
//            bannerList.add(new BannerData(path));
//        }
//        bannerView.setVisibility(bannerList.size() > 0 ? View.VISIBLE : View.GONE);
//        bannerView.setPages(bannerList, (MZHolderCreator<BannerDynamicViewHolder>) BannerDynamicViewHolder::new);
//        indicatorView.setVisibility(list.size() > 1 ? View.VISIBLE : View.GONE);
//        indicatorView.initPersonalIndicator(list.size());
//        updateBannerState();
//
//        bannerView.addPageChangeListener(new ViewPager.OnPageChangeListener() {
//            @Override
//            public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
//
//            }
//
//            @Override
//            public void onPageSelected(int position) {
//                indicatorView.setPersonalSelectedPage(position);
//            }
//
//            @Override
//            public void onPageScrollStateChanged(int state) {
//
//            }
//        });
//    }
//
//    /**
//     * 更新轮播图动态
//     */
//    private void updateBannerState() {
//
//        if (bannerView == null) {
//            return;
//        }
//
//        if (bannerList.size() >= 1) {
//            bannerView.start();
//        }
//    }
//
//    @Override
//    public void onClick(View view) {
//        super.onClick(view);
//
//        if (FastClickUtils.isFastClick()) {
//            return;
//        }
//
//        if (detail == null) {
//            return;
//        }
//
//        if (view.getId() == R.id.img_back) {
//            finish();
//        }
//
//        // 更多
//        if (view.getId() == R.id.img_more) {
//            MenuSelectDialog menuSelectDialog = new MenuSelectDialog(this, R.style.ActionSheetDialogStyle);
//
//            String btn;
//
//            if (userId.equals(detail.getUserId() + "")) {
//                btn = getString(R.string.delete);
//            } else {
//                btn = getString(R.string.report);
//            }
//
//            menuSelectDialog.setLogoutText(btn);
//
//            menuSelectDialog.setOnItemClickListener(i1 -> {
//                if (i1 == 1) {
//                    if (!userId.equals(detail.getUserId() + "")) {
//                        // 举报
//                        RouterAccount.ReportActivity(detail.getUserId() + "", dynamicId);
//                        return;
//                    }
//
//                    // 删除
//                    AppDialogUtil.showTitleDialog(mActivity, "", getString(R.string.del_dynamic), mActivity.getString(R.string.cancel), mActivity.getString(R.string.confirm), new AppDialogUtil.DialogClickInterface() {
//                        @Override
//                        public void onCancelClick() {
//
//                        }
//
//                        @Override
//                        public void onSureClick() {
//                            mPresenter.delDynamic();
//                        }
//                    });
//                }
//            });
//        }
//
//        // 用户信息
//        if (view.getId() == R.id.ll_user_info) {
//            RouterUser.PersonalDetailActivity(detail.getUserId() + "", "动态");
//        }
//
//        // 关注
//        if (view.getId() == R.id.tv_follow) {
//            mPresenter.followUser(detail.getUserId() + "");
//        }
//
//        // 点赞
//        if (view.getId() == R.id.tv_like) {
//            mPresenter.dynamicLike(!tv_like.isSelected());
//        }
//
//        // 评论
//        if (view.getId() == R.id.tv_msg) {
//            dynamicCommentBean = new DynamicCommentBean(1, null, null, null, null);
//            showInputView();
//        }
//
//        // 编辑中的评论
//        if (view.getId() == R.id.tv_message) {
//            dynamicCommentBean = new DynamicCommentBean(1, null, null, null, null);
//            showInputView();
//        }
//
//        // 提交评论
//        if (view.getId() == R.id.tv_chatroom_msg_send) {
//            if (dynamicCommentBean != null) {
//                String content = editMsg.getText().toString().trim();
//                dynamicCommentBean.setContent(content);
//                mPresenter.addComment(dynamicCommentBean);
//            }
//        }
//
////        if (view.getId() == R.id.view_input_bg_container) {
////            llFullContainer.setVisibility(View.GONE);
////            hideInputView();
////        }
//    }
//
//    private DynamicCommentBean dynamicCommentBean;
//
//    @Override
//    public void mSoftInputHeight(int height) {
//        super.mSoftInputHeight(height);
//        changeInputHeight(height);
//    }
//
//    /**
//     * 输入框根据键盘移动
//     */
//    public void changeInputHeight(int height) {
//        ViewGroup.LayoutParams layoutParams = keyBoardHeight.getLayoutParams();
//        layoutParams.height = height;
//        keyBoardHeight.setLayoutParams(layoutParams);
//        if (height == 0 && findViewById(R.id.layout_chatroom_edit).getVisibility() == View.VISIBLE) {
//            hideInputView();
//        }
//    }
//
//    /**
//     * 显示输入框
//     */
//    public void showInputView() {
//        llFullContainer.setVisibility(View.VISIBLE);
//        KeyboardUtils.showSoftInput(editMsg);
//    }
//
//    /**
//     * 隐藏输入框
//     */
//    public void hideInputView() {
//        llFullContainer.setVisibility(View.GONE);
//        KeyboardUtils.hideSoftInput(editMsg);
//    }
//
//    /**
//     * 动态评论点赞
//     *
//     * @param dynamicId      动态ID
//     * @param type           1 评论 2 子评论
//     * @param commentId      评论id
//     * @param childCommentId 子评论id
//     * @param status         点赞状态 true 点赞 false 取消点赞
//     */
//    private void commentLike(int type, String dynamicId, String commentId, String childCommentId, boolean status) {
//        mPresenter.dynamicCommentLike(type, dynamicId, commentId, childCommentId, status);
//    }
//
//    @Override
//    public void loadDynamicDetail(DynamicListBean response) {
//        detail = response;
//        loadLocalData(false);
//    }
//
//    @Override
//    public void loadCommentList(List<DynamicMsgBean> list) {
//        adapter.setList(list);
//    }
//
//    @Override
//    public void delDynamic() {
//        ToastUtil.showMessage(getString(R.string.dynamic_del_success));
//        RxBus.getDefault().post(new RefreshDynamicEvent());
//        finish();
//    }
//
//    @Override
//    public void dynamicLike(boolean like) {
////        detail.getCommunityInfo().setLike(like);
////        tv_like.setSelected(like);
////        if (detail.getCommunityInfo().isLike()) {
////            detail.getCommunityInfo().setNumOfLikes(detail.getCommunityInfo().getNumOfLikes() + 1);
////            ToastUtil.showMessage(getString(R.string.touch_like_check));
////        } else {
////            detail.getCommunityInfo().setNumOfLikes(detail.getCommunityInfo().getNumOfLikes() - 1);
////            ToastUtil.showMessage(getString(R.string.touch_like_uncheck));
////        }
////        tv_like.setText(String.valueOf(detail.getCommunityInfo().getNumOfLikes()));
//    }
//
//    /**
//     * 新增评论
//     */
//    @Override
//    public void dynamicReply(DynamicCommentBean comment, DynamicMsgBean bean) {
//        dynamicCommentBean = null;
//        adapter.addData(0, bean);
//        adapter.notifyDataSetChanged();
//        editMsg.setText("");
//        showToast(getString(R.string.comment_add_success));
//        llFullContainer.setVisibility(View.GONE);
//        hideInputView();
//    }
//
//    /**
//     * 新增评论回复
//     */
//    @Override
//    public void dynamicReplyChild(DynamicCommentBean comment, DynamicMsgChildBean bean) {
//        dynamicCommentBean = null;
//        for (DynamicMsgBean data : adapter.getData()) {
//            // 进入到指定列表
//            if (data.getCommentId().equals(comment.getCommentId())) {
//                if (data.getCommentList() == null) {
//                    data.setCommentList(new ArrayList<>());
//                }
//                data.getCommentList().add(0, bean);
//                adapter.notifyDataSetChanged();
//                editMsg.setText("");
//                showToast(getString(R.string.comment_add_success));
//                llFullContainer.setVisibility(View.GONE);
//                hideInputView();
//                break;
//            }
//        }
//    }
//
//    @Override
//    public void followUser() {
//        ToastUtil.showMessage(getString(R.string.user_follow_success));
//        tv_follow.setVisibility(View.GONE);
//    }
//
//    @Override
//    public void dynamicCommentLike(int type, String dynamicId, String commentId, String childCommentId, boolean status) {
//
//        if (type == 1) {
//            for (DynamicMsgBean bean : adapter.getData()) {
//                if (bean.getCommentId().equals(commentId)) {
//                    bean.setLike(status);
//                    if (bean.isLike()) {
//                        bean.setNumOfLikes(bean.getNumOfLikes() + 1);
//                        ToastUtil.showMessage(getString(R.string.touch_like_check));
//                    } else {
//                        bean.setNumOfLikes(bean.getNumOfLikes() - 1);
//                        ToastUtil.showMessage(getString(R.string.touch_like_uncheck));
//                    }
//                    adapter.notifyDataSetChanged();
//                    break;
//                }
//            }
//        } else {
//            for (DynamicMsgBean bean : adapter.getData()) {
//                if (bean.getCommentId().equals(commentId)) {
//                    for (DynamicMsgChildBean data : bean.getCommentList()) {
//                        if (data.getCommentId().equals(childCommentId)) {
//                            data.setLike(status);
//                            if (data.isLike()) {
//                                data.setNumOfLikes(data.getNumOfLikes() + 1);
//                                ToastUtil.showMessage(getString(R.string.touch_like_check));
//                            } else {
//                                data.setNumOfLikes(data.getNumOfLikes() - 1);
//                                ToastUtil.showMessage(getString(R.string.touch_like_uncheck));
//                            }
//                            adapter.notifyDataSetChanged();
//                            break;
//                        }
//                    }
//                    break;
//                }
//            }
//        }
//    }
//}